---
layout: content
title: Home
---

<script>
    var links = ["https://github.com/pac4j/spring-webmvc-pac4j",
        "https://github.com/pac4j/j2e-pac4j",
        "https://github.com/bujiio/buji-pac4j",
        "https://github.com/pac4j/spring-security-pac4j",
        "https://github.com/pac4j/play-pac4j",
        "https://github.com/pac4j/vertx-pac4j",
        "https://github.com/pac4j/spark-pac4j",
        "https://github.com/pac4j/javalin-pac4j",
        "http://ratpack.io/manual/current/pac4j.html#pac4j",
        "http://www.pippo.ro/doc/security.html#pac4j-integration",
        "https://github.com/pac4j/undertow-pac4j",
        "http://jooby.org/doc/pac4j",
        "http://apereo.github.io/cas/6.2.x/integration/Delegate-Authentication.html",
        "https://github.com/pac4j/jax-rs-pac4j",
        "https://github.com/pac4j/dropwizard-pac4j",
        "https://github.com/pac4j/lagom-pac4j",
        "https://github.com/StackVista/akka-http-pac4j",
        "http://knox.apache.org/books/knox-1-1-0/user-guide.html#Pac4j+Provider+-+CAS+/+OAuth+/+SAML+/+OpenID+Connect",
        "https://github.com/pac4j/pac4j"];

    var images = ["/img/logo-spring-webmvc.png",
        "/img/logo-j2e.png",
        "/img/logo-shiro.png",
        "/img/logo-spring-security.png",
        "/img/logo-play.png",
        "/img/logo-vertx.png",
        "/img/logo-spark.png",
        "/img/logo-javalin.png",
        "/img/logo-ratpack.png",
        "/img/logo-pippo.png",
        "/img/logo-undertow.png",
        "/img/logo-jooby.png",
        "/img/logo-cas.png",
        "/img/logo-jaxrs.png",
        "/img/logo-dropwizard.png",
        "/img/logo-lagom.png",
        "/img/logo-akkahttp.png",
        "/img/logo-knox.png",
        "/img/logo.png"];
    var i = 0;
    setInterval(function(){
        if(links.length == i){
            i = 0;
        }
        else {
            document.getElementById("bannerImage").src = images[i];
            document.getElementById("bannerLink").href = links[i];
            i++;
        }
    },2000);
</script>

<div id="home" class="text-center">

    <a target="_blank" id="bannerLink" href="https://github.com/pac4j/pac4j"><img width="320" height="285" id="bannerImage" src="/img/logo.png" /></a>

    <h1 id="engine">The <a target="_blank" href="https://github.com/pac4j/pac4j">Java security engine</a> to protect all your web applications and web services</h1>

    <h2 id="implem">Available for most frameworks/tools (<i>implementations</i>):<br />
        <a target="_blank" href="https://github.com/pac4j/spring-webmvc-pac4j">Spring Web MVC</a>
        &bull; <a target="_blank" href="https://github.com/pac4j/j2e-pac4j">JEE</a>
        &bull; <a target="_blank" href="https://github.com/pac4j/pac4j-springboot">Spring Boot</a>
        &bull; <a target="_blank" href="https://github.com/bujiio/buji-pac4j">Shiro</a>
        &bull; <a target="_blank" href="https://github.com/pac4j/spring-security-pac4j">Spring Security <small>(Spring Boot)</small></a>
        &bull; <a target="_blank" href="https://github.com/pac4j/play-pac4j">Play 2.x</a>
        &bull; <a target="_blank" href="https://github.com/pac4j/vertx-pac4j">Vertx</a><br />

        <a target="_blank" href="https://github.com/pac4j/spark-pac4j">Spark Java</a>
        &bull; <a target="_blank" href="https://github.com/pac4j/javalin-pac4j">Javalin</a>
        &bull; <a target="_blank" href="http://ratpack.io/manual/current/pac4j.html#pac4j">Ratpack</a>
        &bull; <a target="_blank" href="http://www.pippo.ro/doc/security.html#pac4j-integration">Pippo</a>
        &bull; <a target="_blank" href="https://github.com/pac4j/undertow-pac4j">Undertow</a>
        &bull; <a target="_blank" href="http://jooby.org/doc/pac4j">Jooby</a><br />

         <a target="_blank" href="https://apereo.github.io/cas/6.2.x/integration/Delegate-Authentication.html">CAS server</a>
        &bull; <a target="_blank" href="https://github.com/pac4j/jax-rs-pac4j">JAX-RS</a>
        &bull; <a target="_blank" href="https://github.com/pac4j/dropwizard-pac4j">Dropwizard</a>
        &bull; <a target="_blank" href="https://github.com/pac4j/lagom-pac4j">Lagom</a>
        &bull; <a target="_blank" href="https://github.com/StackVista/akka-http-pac4j">Akka HTTP</a>
        &bull; <a target="_blank" href="http://knox.apache.org/books/knox-1-1-0/user-guide.html#Pac4j+Provider+-+CAS+/+OAuth+/+SAML+/+OpenID+Connect">Knox</a>

     </h2>

    <h2 id="authent">Supports most authentication mechanisms:<br />

        <small>OAuth (Facebook, Twitter, Google...) - SAML - CAS - OpenID Connect - HTTP - Google App Engine<br />
        LDAP - SQL - JWT - MongoDB - CouchDB - IP address - Kerberos (SPNEGO) - REST API</small>

    </h2>
    <h2 id="authoriz">and authorization mechanisms:<br />

        <small>Roles/permissions - Anonymous/remember-me/(fully) authenticated - CORS - CSRF - HTTP Security headers</small>

    </h2>
    <h2>Supported by:<br /><a target="_blank" href="https://www.casinthecloud.com"><img src="/img/logo-casinthecloud.png" width="225" height="30" /></a><br><small><i>The CAS and pac4j consulting company</i></small></h2>

</div>
